Imports TeamUp.GarantiaTransacional
Imports TeamUp.dado
Imports System.Collections.Generic
Imports TeamUp.Entidades

Public Class ControladorEstimativa
    Inherits Model

    Public Sub New(ByVal objGarantiaTransacional As GTransacional)
        GarantiaTransacional = objGarantiaTransacional
    End Sub

    Public Function getEstimativa(ByVal objParametroEstimativa As ParametroEstimativa) As List(Of Estimativa)
        Dim objEstimativaDao As EstimativaDao
        Dim intContador As Integer
        Dim lstUsuario As List(Of Usuario)
        Dim objControladorUsuario As ControladorParticipanteUsuario
        Dim objParametroUsuario As ParametroUsuario
        getEstimativa = Nothing

        Try
            objEstimativaDao = New EstimativaDao(GarantiaTransacional)
            getEstimativa = objEstimativaDao.getEstimativa(objParametroEstimativa)

            If Not getEstimativa Is Nothing Then
                For intContador = 0 To getEstimativa.Count - 1
                    objControladorUsuario = New ControladorParticipanteUsuario(GarantiaTransacional)

                    objParametroUsuario = New ParametroUsuario("", "", "", getEstimativa.Item(intContador).getId, "")

                    lstUsuario = objControladorUsuario.consultarUsuarioEstimativa(objParametroUsuario)
                    If lstUsuario.Count > 0 Then
                        getEstimativa.Item(intContador).setUsuario(lstUsuario.Item(0))
                    End If
                Next
            End If
        Catch ex As Exception
            Throw ex
        End Try
    End Function


    Public Sub incluirEstimativa(ByVal objEstimativa As Estimativa)
        Dim objEstimativaDao As EstimativaDao

        Try
            GarantiaTransacional.iniciarTransacao("ControladorEstimativa.incluirEstimativa".ToUpper)
            objEstimativaDao = New EstimativaDao(GarantiaTransacional)

            objEstimativaDao.incluirEstimativa(objEstimativa)

            objEstimativaDao = Nothing

            GarantiaTransacional.commit("ControladorEstimativa.incluirEstimativa".ToUpper)
        Catch ex As Exception
            GarantiaTransacional.rollBack("ControladorEstimativa.incluirEstimativa".ToUpper)
            Throw ex
        Finally
        End Try
    End Sub

    Public Sub alterarEstimativa(ByVal objEstimativa As Estimativa)
        Dim objEstimativaDao As EstimativaDao

        Try
            GarantiaTransacional.iniciarTransacao("ControladorEstimativa.alterarEstimativa".ToUpper)
            objEstimativaDao = New EstimativaDao(GarantiaTransacional)

            objEstimativaDao.alterarEstimativa(objEstimativa)

            objEstimativaDao = Nothing

            GarantiaTransacional.commit("ControladorEstimativa.alterarEstimativa".ToUpper)
        Catch ex As Exception
            GarantiaTransacional.rollBack("ControladorEstimativa.alterarEstimativa".ToUpper)
            Throw ex
        Finally
        End Try

    End Sub

End Class
